Automatic home screen determination based on display device

ABSTRACT

A mobile computing device, such as a smartphone or tablet device, can be coupled to any one or more of multiple display devices at any given time. The mobile computing device allows the home screen displayed on the display devices to be dynamic, changing based on which display device the mobile computing device is coupled to. The mobile computing device can also be coupled to multiple different display devices concurrently, and different home screens are concurrently displayed on those different display devices. User inputs changing the information displayed on the home screen can also be received, and a record of the change is maintained by the computing device so the changed home screen for a particular display device is again displayed to the user the next time the mobile computing device is coupled to that display device.

BACKGROUND

As computing technology has advanced, the capabilities of computingdevices as well as related accessories, such as display devices, havegrown. These capabilities have allowed increasingly large displaydevices, as well as the coupling of multiple display devices to acomputing device. While these advances have provided benefits, they arenot without their problems. One such problem is that it remainsdifficult for users to easily use and configure such multiple displaydevices in the manner that the users desire, leading to userfrustration.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

In accordance with one or more aspects, in a mobile computing device anidentifier of a display device to which the mobile computing device iscoupled is determined, and a home screen is displayed on the displaydevice, the home screen having a state based on the identified displaydevice. A user input changing the state of the home screen is received,the changing including changing the user experience presented by thehome screen. The changed state of the home screen is saved, and inresponse to the mobile computing device being subsequently coupled tothe display device, the home screen having the changed state isdisplayed.

In accordance with one or more aspects, in a mobile computing device afirst home screen is displayed on a first display device of multipledisplay devices, the first home screen having a state based on anidentifier of the first display device. Concurrently with displaying thefirst home screen on the first display device, a second home screen isdisplayed on a second display device of the multiple display devices,the second home screen having a state based on an identifier of thesecond display device. The mobile computing device controls the firsthome screen and the second home screen independently of one another,allowing each home screen to remain active simultaneously.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.Entities represented in the figures may be indicative of one or moreentities and thus reference may be made interchangeably to single orplural forms of the entities in the discussion.

FIG. 1 illustrates an example system implementing the automatic homescreen determination based on display device in accordance with one ormore embodiments.

FIG. 2 illustrates an example automatic home screen determination systemin additional detail in accordance with one or more embodiments.

FIGS. 3, 4, 5, and 6 illustrate example home screens for different typesof display devices.

FIG. 7 illustrates an example computing device controlling multipledisplay devices concurrently in accordance with one or more embodiments.

FIG. 8 is a flowchart illustrating an example process for displayinghome screens based on display devices in accordance with one or moreembodiments.

FIG. 9 is a flowchart illustrating an example process for displayinghome screens on multiple display devices concurrently in accordance withone or more embodiments.

FIG. 10 illustrates an example system that includes an example computingdevice that is representative of one or more systems and/or devices thatmay implement the various techniques described herein.

DETAILED DESCRIPTION

Automatic home screen determination based on display device is discussedherein. A mobile computing device, such as a smartphone or tabletdevice, can be coupled to multiple different display devices. Thesedisplay devices include display devices that are separate from thecomputing device (e.g., television displays, desktop monitors,automotive PCs, tablet displays, thin-client laptops (e.g., having justa screen and keyboard), a projector, and so forth as discussed in moredetail below) as well as display devices that are part of the computingdevice (e.g., a built-in display of the computing device). The mobilecomputing device can be coupled to any one or more of these multipledisplay devices at any given time.

The mobile computing device includes an automatic home screendetermination system that allows the home screen displayed on thedisplay devices to be dynamic, changing based on which display devicethe mobile computing device is coupled to. For example, a home screenwith certain user-selectable tiles or icons, menus, and so forth can bedisplayed on a desktop monitor, while a different home screen withdifferent user-selectable tiles or icons can be displayed on atelevision. The mobile computing device automatically displays theproper home screen on each display device that the mobile computingdevice is coupled to. User inputs changing the information displayed onthe home screen can also be received (e.g., adding or removinguser-selectable tiles or icons, rearranging user-selectable tiles oricons, and so forth). In response to such user inputs, the informationdisplayed on the home screen is changed and a record of the change ismaintained by the automatic home screen determination system, so thechanged home screen for a particular display device is again displayedto the user the next time the mobile computing device is coupled to thatdisplay device.

The mobile computing device can be coupled to multiple different displaydevices concurrently, and the automatic home screen determination systemprovides different home screens for concurrent display on thosedifferent display devices. This allows the user to use the differentdisplay devices independently. For example, the mobile computing devicemay be coupled to a desktop monitor and display a home screen for theuser to perform various productivity-related tasks, and concurrentlydisplay a home screen on a display device that is part of the mobilecomputing device for the user to use the mobile computing device as atelephone.

FIG. 1 illustrates an example system 100 implementing the automatic homescreen determination based on display device in accordance with one ormore embodiments. System 100 includes a computing device 102 that can becommunicatively coupled to one or more (m) display devices 104. Thecomputing device 102 can be a variety of different types of devices, andtypically is a mobile device such as a tablet or phablet device, acellular or other wireless phone (e.g., a smartphone), a notepadcomputer, a laptop or netbook computer, a wearable device (e.g.,eyeglasses, watch), and so forth. Alternatively, the computing device102 can be other types of devices that are not typically considered tobe mobile devices, such as an entertainment device (e.g., anentertainment appliance, a set-top box communicatively coupled to adisplay device, a game console), a desktop computer, a server computer,a television, and so forth.

The computing device 102 can be coupled to each display device 104 indifferent manners, including wired couplings (e.g., universal serial bus(USB), DisplayPort, high-definition multimedia interface (HDMI), etc.)and/or wireless couplings (e.g., wireless USB, Bluetooth, etc.). Thecomputing device 102 can be coupled to different display devices 104 inthe same or different manners. The display devices 104 can be displaydevices that are external to the computing device 102 (in a housingseparate from the computing device 102), such as a desktop monitor orliving room television, an automotive display device, a tablet displaydevice, and so forth. The display devices 104 can be standalone displaydevices (e.g., display devices with little or no processing or othercomputing device capabilities, such as a desktop monitor) or can beincluded as part of other computing devices (e.g., a display device ofan automotive PC, a display device of a tablet, a display device of asmart TV (e.g., that is capable of running various software programs),and so forth). The display devices 104 can also be display devices thatare internal to the computing device 102 (in a same housing as thecomputing device 102), such as a smartphone display or projector.

The computing device 102 includes a user input module 106, an outputmodule 108, and a display device based automatic home screendetermination system 110. Although particular functionality is discussedherein with reference to the modules 106 and 108 as well as the system110, it should be noted that the functionality of individual ones of themodules 106 and 108 as well as the system 110 can be separated intomultiple modules and/or systems, and/or at least some functionality ofthe multiple modules 106 and 108 as well as the system 110 can becombined into a single module and/or system.

The user input module 106 receives user inputs from a user of thecomputing device 102. User inputs can be provided in a variety ofdifferent manners, such as by pressing one or more keys of a keypad orkeyboard of the device 102, pressing one or more keys of a controller(e.g., remote control device, mouse, track pad, etc.) of the device 102,pressing a particular portion of a touchpad or touchscreen of or coupledto the device 102, making a particular gesture on a touchpad ortouchscreen of or coupled to the device 102, and/or making a particulargesture on a controller (e.g., remote control device, mouse, track pad,etc.) of the device 102. User inputs can also be provided via otherphysical feedback input to the device 102, such as tapping any portionof the device 102, an action that can be recognized by a motiondetection or other component of the device 102 (such as shaking thedevice 102, rotating the device 102, bending or flexing the device 102,etc.), and so forth. User inputs can also be provided in other manners,such as via voice or other audible inputs to a microphone, via motionsof hands or other body parts observed by an image capture device, and soforth.

The output module 108 generates, manages, and/or outputs content fordisplay, playback, and/or other presentation. This content can becreated by the output module 108 or obtained from other modules of thecomputing device 102. This content can be, for example, a display orplayback portion of a user interface (UI), including a home screen. Thecontent can be displayed or otherwise played back by components of thecomputing device 102 (e.g., speakers, interactive display devices,etc.). Alternatively, the output module 108 can generate one or moresignals that are output to other devices or components (e.g., speakers,display devices, etc.) that are separate from the computing device 102.

The automatic home screen determination system 110 automaticallydetermines the home screen to display for a particular display device104 based on the particular display device 104. The home screen, alsoreferred to as a start screen, is the displayed screen from which theuser can request to run various different programs of the computingdevice 102. In one or more embodiments, the home screen is the firstscreen with user-selectable representations of functionality displayedafter the user logs into (or turns on or wakes up) the computing device102. Various different user-selectable representations of functionalitycan be included on a home screen, such as tiles, icons, widgets, menus,menu items, and so forth, and these different representations can beselected via any of a variety of different user inputs as discussedabove. The functionality refers to different functions or operationsthat can be performed by the computing device, such as running one ormore applications or programs, displaying or otherwise presentingparticular content, and so forth. In one or more embodiments, theentirety of the home screen is displayed at the same time.Alternatively, different portions (also referred to as pages) of thehome screen can be displayed at different times, and the user cannavigate to these different portions using any of a variety of userinputs (e.g., left and right arrows, gestures such as swiping to theleft or right, and so forth).

The home screen for a particular display device 104 can be determinedbased on the type of the display device 104, and optionally based on thespecific or individual display device 104 itself (e.g., display devicesof the same type, or even the same make and model, can have differenthome screens). The home screens for various display devices 104 can alsobe personalized by a user of the computing device 102, and thepersonalized home screen is displayed each time the computing device 102is coupled to that display device 104.

The automatic home screen determination system 110 can be implemented ina variety of different manners. In one or more embodiments, theautomatic home screen determination system 110 is implemented as part ofan operating system running on the computing device 102. Alternatively,the automatic home screen determination system 110 is implemented partlyin the operating system of the computing device 102 and partly as anapplication (e.g., a companion application) that runs on the operatingsystem of the computing device 102. Alternatively, the automatic homescreen determination system 110 is implemented as an application thatruns on the operating system of the computing device 102, such as alauncher or container application that displays the home screen.

The computing device 102 can also optionally be coupled to one or moreperipheral devices 112, such as a video camera, a mouse or other cursorcontrol device, a keyboard, and so forth. The computing device 102 canbe coupled to a peripheral device 112 in a variety of different manners.By way of example, the peripheral device 112 can be connected to (e.g.,wirelessly or wired) a display device 104 that is communicativelycoupled to the computing device 102. By way of another example, theperipheral device 112 can be connected to (wirelessly or wired) anintermediary device (e.g., a docking station) to which a display device104 and the computing device 102 are both communicatively coupled. Byway of yet another example, the peripheral device 112 can be connectedto (wirelessly or wired) the computing device 102 directly.

FIG. 2 illustrates an example automatic home screen determination systemin additional detail in accordance with one or more embodiments. Theautomatic home screen determination system 110 includes a display deviceidentification module 202, a home screen personalization module 204, ahome screen display module 206, and a home screen state data store 208.The display device identification module 202 automatically determines anidentifier for each display device to which the automatic home screendetermination system 110 is coupled (also referred to as identifying thedisplay device). The determination of an identifier of a display deviceis performed, for example, in response to the establishment of thecommunication coupling (wired or wireless) between the display deviceand the computing device that includes the system 110.

The display device identification module 202 can identify a displaydevice by type of display device and/or by specific display device. Thetype of the display device refers to a class or category of displaydevice, such as a desktop monitor, a television, a portable devicedisplay, an automatic PC, and so forth. Each type of display can includemultiple different makes and/or models of display devices. The specificdisplay device refers to an individual display device. Different displaydevices of the same type, including different display devices of thesame make and model, are each a specific display device.

The display device identification module 202 can identify a displaydevice in a variety of different manners. In one or more embodiments,the display device sends a configuration value (e.g., a flag or othervalue) identifying the type of display device and/or the specificdisplay device. The display device can have been pre-configured withthis configuration value, have been assigned the configuration value bya distributor or other service, and so forth. The display deviceidentification module 202 can thus automatically identify the displaydevice based on this received configuration value.

Additionally or alternatively, the display device identification module202 can automatically identify the display device based on a context orcharacteristics of the display device. The context of a display devicerefers to the environment in which the display device is present, suchas which peripheral devices are connected to the display device and/orto the computing device implementing the automatic home screendetermination system 110, the physical location of the display deviceand/or the computing device implementing the automatic home screendetermination system 110, a mobility state of the display device and/orthe computing device implementing the automatic home screendetermination system 110, which user is logged into the computingdevice, combinations thereof, and so forth. The display deviceidentification module 202 obtains information identifying the context ofthe display device, and applies various rules or algorithms to identifythe display device based on the obtained information.

By way of example, the display device identification module 202 canidentify the display device as a desktop monitor if the display deviceis coupled to mouse and keyboard peripheral devices. By way of anotherexample, the display device identification module 202 can identify thedisplay device as a desktop monitor if the display device is at aparticular physical location associated with the user's workplace (e.g.,as determined by one or more wireless networks to which the computingdevice implementing the automatic home screen determination system 110can connect, as determined by global positioning system (GPS)coordinates obtained from a GPS module of the computing deviceimplementing the automatic home screen determination system 110). By wayof yet another example, the display device identification module 202 canidentify the display device as a display included in a mobile computingdevice if the display device is moving at greater than a threshold speedsuch as 2 miles per hour (e.g., as determined by a GPS module,accelerometer, or other module of the computing device implementing theautomatic home screen determination system 110).

The characteristics of the display device refer to physical parametersor aspects of the display device, such as one or more of the size of thedisplay device (e.g., dimensions of the display), a type of displaytechnology used (e.g., plasma display, light-emitting diode (LED)display, organic light-emitting diode (OLED) display), a display deviceresolution or pixel density, combinations thereof, and so forth. Thedisplay device identification module 202 obtains (e.g., from the displaydevice) information identifying the characteristics of the displaydevice, and applies various rules or algorithms to identify the displaydevice based on the obtained information. For example, a display devicehaving a size that satisfies (e.g., is less than, or is less than orequal to) a first threshold value (e.g., 13 inches) is identified as adisplay device included in a mobile computing device, a display devicehaving a size that does not satisfy the first threshold value butsatisfies a second threshold value (e.g., 32 inches) is identified as adesktop monitor display device, and a display device having a size thatdoes not satisfy either of the first threshold value or the secondthreshold value is identified as a television display device.

The display device identification module 202 can also receive user inputidentifying a particular display device, the user input specifying atype of the display device and/or a specific display device. The userinput can be received in any of a variety of different manners asdiscussed above. In one or more embodiments, the user input overridesany automatic determination of the display device made by the displaydevice identification module 202. For example, based on the context ofthe display device or a configuration value received from the displaydevice, the display device identification module 202 may automaticallyidentify the display device as a desktop monitor. However, the user maydesire to use the display device as an entertainment device, and thuscan identify the display device as a television. The user inputoverrides the automatic determination, so the specific display device inthis example is identified as a television rather than a desktopmonitor.

The home screen state data store 208 is a record of identified displaydevices and corresponding home screen states. The home screen state datastore 208 can be implemented as any of a variety of storage devices,such as flash memory, magnetic disk, optical disc, and so forth. Thehome screen state data store 208 maintains multiple entries 210(1), . .. , 210(n), each entry identifying a display device and a correspondinghome screen state. Although illustrated in a table format, it should benoted that the home screen state data store 208 can be implemented usingany of a variety of different data structures.

A home screen state refers to a particular user experience displayed orotherwise presented to the user, including a particular configuration ofrepresentations of functionality on the home screen. This configurationincludes the locations of representations of functionality, the sizes ofrepresentations of functionality, which representations of functionalityare displayed (e.g., which functionalities are represented and/or howthe functionalities are represented), and so forth. For example, theconfiguration can include whether menu items, tiles, or icons aredisplayed, where on the display device those menu items, tiles, or iconsare displayed, a size or resolution of the menu items, tiles, or iconsthat are displayed, and so forth. The home screen state can optionallyinclude one or more of various other user experience characteristics orparameters that describe how a user can interact with the home screen.For example, the home screen state can include user experiencecharacteristics or parameters indicating types of input that can bereceived by the home screen (e.g., whether voice input and/ortouchscreen input is supported), which applications or programs can berun or executed from the home screen, and so forth. The home screendisplay module 206 controls display of the home screen, so given aparticular display device identifier as determined by the display deviceidentification module 202, the home screen display module 206 displaysthe appropriate home screen having the state corresponding to thedetermined display device identifier.

In one or more embodiments, a display device can exist in multipledifferent environments and be identified as a different display devicein each different environment. For example, the context of a displaydevice may include an indication of which of multiple users is loggedinto the computing device, and different entries 210 can correspond todifferent users. E.g., the same desktop monitor may have one home screenstate if a parent is logged into the computing device, and another homescreen state if a child is logged into the computing device. By way ofanother example, the context of a display device may include a mobilitystate of the display device (e.g., whether the display device is moving,a speed at which the display device is moving, etc.), and differententries 210 can correspond to different mobility states. E.g., the sameautomotive display may have one home screen state if the display deviceis moving at greater than a threshold speed, and another home screenstate if the display device is not moving (or is moving at less than orequal to the threshold speed).

FIGS. 3-6 illustrate example home screens for different types of displaydevices. FIG. 3 illustrates a display device 300 that is a desktopmonitor, and a home screen that includes two user-selectablerepresentations 302 and 304. A word processing program is run orotherwise activated in response to user selection of the representation302, and a photo editing program is run or otherwise activated inresponse to user selection of the representation 304. A row or bar ofuser-selectable representations 306 are also displayed, and anappropriate program (e.g., for messaging, email, or navigational mapdisplay) is run or otherwise activated in response to selection of thecorresponding representation 306.

FIG. 4 illustrates a display device 400 that is a television, and a homescreen that includes five user-selectable representations 402, 404, 406,408, and 410. A weather program is run or otherwise activated inresponse to user selection of the representation 402, a program tuningto a television channel 2 is run or otherwise activated in response touser selection of the representation 404, a program tuning to atelevision channel 6 is run or otherwise activated in response to userselection of the representation 406, a program tuning to a televisionchannel 64 is run or otherwise activated in response to user selectionof the representation 408, and a video conferencing program is run orotherwise activated in response to user selection of the representation410.

FIG. 5 illustrates a display device 500 that is display device includedin a mobile computing device such as a smartphone. A home screen isillustrated that includes three user-selectable representations 502,504, and 506. A program causing a phone number corresponding to aparticular friend or family to be dialed is run or otherwise activatedin response to user selection of the representation 502, a videoconferencing program is run or otherwise activated in response to userselection of the representation 504, and a Web browser program is run orotherwise activated in response to user selection of the representation506.

FIG. 6 illustrates a display device 600 that is a display deviceincluded in an automobile. A home screen is illustrated that displays acurrent time 602 and a current radio channel 604 to which a radio istuned. The illustrated home screen also includes two user-selectablerepresentations 602 and 604. A navigation program is run or otherwiseactivated in response to user selection of the representation 602, and ahands-free driving application (e.g., supporting hands-free telephonecalls) is run or otherwise activated in response to user selection ofthe representation 604.

It should be noted that the examples shown in FIGS. 3-6 are examples,and that various other types of display devices can be used with thetechniques discussed herein. For example, a display device can be apicture frame, an alarm clock, a projector (e.g., projecting a screen onto some surface, or projecting the screen as a heads-up display (HUD)),a watch or other jewelry, eyeglasses, a laptop shell or thin-clientlaptop (e.g., having a keyboard and display device analogous to atraditional laptop, but the keyboard being a peripheral device 112 ofFIG. 1 and the display device being a display device 104 of FIG. 1), andso forth.

The examples shown in FIGS. 3-6 are examples of different home screensfor different types of display devices. The same computing device (e.g.,computing device 102 of FIG. 1) provides each of these different homescreens, and runs or otherwise activates any programs that are to be runor otherwise activated in response to user selection of a representationof functionality displayed on one of the screens.

Returning to FIG. 1, it should also be noted that user inputs areprovided to the computing device 102 for processing, and the appropriatescreen is generated for display by the computing device 102 in responseto such user inputs. For example, assume at a particular point in timethat the computing device 102 is coupled to a keyboard and mouseperipheral devices 112, that the computing device is coupled to thedisplay device 104(1), and that the display device is the desktopmonitor 300 of FIG. 3. A user input selecting the representation 302 inthe form of mouse movements and a mouse click is received by thecomputing device 102, and in response the computing device 102 runs theword processing program and displays the appropriate word processingprogram content on the desktop monitor 300 (e.g., in place of, or inaddition to, the illustrated home screen).

It should also be noted that the computing device 102 can controlmultiple different display devices concurrently, with different homescreens being displayed on each and controlled independently of oneanother. The computing device 102 allows each of these different homescreens to remain active simultaneously, optionally allowing therepresentations of functionality or other content displayed as thedifferent home screens to change (e.g., different data displayed withintiles) and allowing the user to interact with either or both of the homescreens as he or she desires.

FIG. 7 illustrates an example computing device controlling multipledisplay devices concurrently in accordance with one or more embodiments.FIG. 7 illustrates the computing device 102 as a mobile computing devicethat is coupled concurrently to a desktop monitor (the desktop monitor300 of FIG. 3) and a display device included as part of the computingdevice 102 (the smartphone display device 500 of FIG. 5). Asillustrated, a different home screen is displayed on each of the displaydevices 300 and 500 by the computing device 102 concurrently. User inputselecting a representation 502, 504, or 506 is received by the computingdevice 102, and in response the computing device 102 displays anappropriate screen on the display device 500. Similarly, user inputselecting a representation 302, 304, or 306 is received by the computingdevice 102, and in response the computing device 102 displays anappropriate screen on the display device 300. Thus, for example, theuser can use the computing device 102 to make a phone call (e.g., inresponse to user selection of the representation 502) while at the sametime the user can begin editing a text document on the display device300 (e.g., in response to user selection of the representation 302).

Returning to FIG. 2, each display device identifier can have a defaulthome screen state. The default home screen state can be pre-configuredin the automatic home screen determination system 110, such as by adeveloper, distributor, or administrator of the computing deviceimplementing the automatic home screen determination system 110.Alternatively, the default home screen state can be obtained in othermanners, such as from another device, from a service via a data network(e.g., a phone network or the Internet), from a user of the computingdevice implementing the automatic home screen determination system 110,and so forth.

In one or more embodiments, the default home screen state is specifiedby a user of the computing device implementing the automatic home screendetermination system 110. Different default home screen states can beassociated with particular user experiences (e.g., workplace,automobile, entertainment). The user can specify a user experience for aparticular display device identifier, and the default home screen stateassociated with that user experience is used as the default home screenstate for the particular display device identifier. The home screenstate can subsequently be changed by the user, as discussed in moredetail below.

The default home screen state for a display device, regardless of howobtained or specified, allows the default home screen state to be usedregardless of whether the user has previously used a particular displaydevice. For example, a hotel office suite, a conference room, or otherroom can have a display device (e.g., desktop monitor, projector,television, etc.) that the user has not used before. However, based onthe display device identifier of the display device in that room, thedefault home screen state for the display device in that room is usedeven though the user has never used that particular display devicebefore.

The automatic home screen determination system 110 also includes a homescreen personalization module 204 that allows a user to change orcustomize the home screen corresponding to a particular display deviceidentifier. Various different user inputs can be received to change ahome screen, such as a user input changing the location of arepresentation of functionality on the home screen, a user input addinga representation of functionality to the home screen, a user inputdeleting a representation of functionality from the home screen, a userinput changing a size of a representation of functionality on the homescreen, and so forth. Any such changes are received by the home screenpersonalization module 204 and saved in the home screen state data store208 as the home screen state. Thus, the next time the identified displaydevice is coupled to the computing device, the home screen displaymodule 206 displays the changed home screen to the user.

The changes to a home screen can be for a particular type of displaydevice or for a specific display device. The user can optionally specifywhether he or she desires changes to a home screen to be for aparticular type of display device or for a specific display device. Forexample, an entry 210(1) can include a display device identifier of atype of display device that is a desktop monitor, and any changes to thehome screen for a desktop monitor are recorded in the entry 210(1). Ifthe computing device implementing the automatic home screendetermination system 110 is subsequently coupled to that same desktopmonitor or any other desktop monitor, then the changed home screen statein the entry 210(1) is the home screen displayed on the desktop monitor.This can allow, for example, the user to have the same customized homescreen displayed on his or her desktop monitor at work as well as his orher desktop monitor at home. This can also include other desktopmonitors that the user has never used before. For example, the user canhave the same customized home screen displayed on a new desktop monitorhe or she just purchased, on a desktop monitor in a hotel suite orconference room that the user has not been in before, and so forth.

By way of another example, an entry 210(2) can include a display deviceidentifier of a specific display device that is a television, and anychanges to the home screen for that particular television are recordedin the entry 210(2). If the computing device implementing the automatichome screen determination system 110 is subsequently coupled to thatsame television, then the changed home screen state in the entry 210(2)is the home screen displayed on that television. However, if thecomputing device implementing the automatic home screen determinationsystem 110 is subsequently coupled to a different television, then thechanged home screen state in the entry 210(2) is not the home screendisplayed on that different television. Rather, another default homescreen (or changed home screen for that different television) isdisplayed on that different television (even if that differenttelevision is a same make and model as the television identified in theentry 210(2)).

In one or more embodiments, a user can make different changes to a homescreen for a particular type of display device or for a specific displaydevice. The user can then select, by providing any of a variety of userinputs as discussed above, which changes are to be used at any giventime. For example, an entry 210 can include multiple different homescreen states associated with a display device identifier, each homescreen state reflecting different changes to the home screen, and theuser selects one of those different home screen states. E.g., a user canchange the home screen of a desktop monitor at the user's home office inone manner for a “personal” home screen state and in another manner fora “work” home screen state. The user can then choose which of those twohome screen states is to be used at any given time. One of the multiplehome screen states can be a default home screen state that is displayedin the absence of a user selection of a home screen state.

It should be noted that situations can arise in which an entry 210identifies a type of display device, and another entry 210 identifies aspecific display device of that same type. In such situations, if thespecific display device is identified by the display deviceidentification module 202, then the entry 210 that identifies thespecific display device is used to determine the home screen staterather than the entry that identifies the type of display device. Forexample, assume that entry 210(1) identifies a desktop monitor type ofdisplay device, and that entry 210(2) identifies a specific desktopmonitor. If the display device identification module 202 identifies thatthe specific desktop monitor is coupled to the computing device, thenthe home screen display module 206 uses the home screen state in theentry 210(2) to display the home screen on that desktop monitor.However, if the display device identification module 202 identifiesanother desktop monitor (other than the specific desktop monitor) iscoupled to the computing device, then the home screen display module 206uses the home screen state in the entry 210(1) to display the homescreen on that desktop monitor.

In addition to representations of functionality as discussed above,various other aspects of the home screen can be automatically determinedbased on the display device. The state of these other aspects isincluded as part of the home screen state in the home screen state datastore 208, and the state of these other aspects can be changed by theuser analogous to changing the representations of functionality asdiscussed above.

One aspect of the home screen that can be automatically determined bythe automatic home screen determination system 110 is notificationsettings. Various different programs display notifications, such aswindows, icons, and so forth notifying the user that some program eventhas occurred, such as receipt of an incoming phone call, receipt of atext message, receipt of an email message, and so forth. The automatichome screen determination system 110 controls whether and/or how suchnotifications are displayed based on the display device. Different typesof notifications (e.g., notifications from different programs) can becontrolled differently (e.g., whether and/or how notifications aredisplayed based on the display device for notifications from one program(e.g., a social networking program) can be different than whether and/orhow notifications are displayed based on the display device fornotifications from another program (e.g., a text messaging program ortelephone program). Different default state can be used for differentdisplay devices, and this default state can be changed as desired by theuser.

For example, for a desktop monitor display device, text and emailreceipt notifications are displayed along with an indication (e.g., someof the text, a subject line, a thumbnail preview, etc.) of the receivedtext or email. However, for a television or projector display device(e.g., whether other people may be able to see the displayedindications), text and email receipt notifications may not be displayed.How a notification is displayed can include an amount of informationthat is displayed in the notification. For example, for a television orprojector display device, the text and email receipt notifications maybe displayed but without any indication of the received text or email(e.g., the notifications displayed may be a simple “text messagereceived” pop-up window), but for a desktop monitor the text and emailreceipt notifications may be displayed with more details (e.g., asubject and/or body of the message).

Additionally or alternatively, one aspect of the home screen that can beautomatically determined by the automatic home screen determinationsystem 110 is additional content settings. Various different additionalcontent (e.g., advertisements) can be displayed on the home screen. Theautomatic home screen determination system 110 controls which additionalcontent and/or how that additional content is displayed on the displaydevice. Different default state can be used for different displaydevices, and this default state can be changed as desired by the user.

For example, additional content may be obtained by the computing devicefor display on the home screen, and this additional content can bedisplayed in a different size, a different resolution, and so forthbased on the display device. E.g., the additional content may bedisplayed larger on a desktop monitor display device than on anautomotive display device. By way of another example, a serviceproviding additional content (e.g., via a data network such as theInternet) may provide multiple different versions of additional content,and which piece of content is displayed various based on the displaydevice. E.g., a version of the additional content with text and imagesmay be displayed on a desktop monitor display device, and a version ofthe additional content with images but no text may be displayed on anautomotive display device.

FIG. 8 is a flowchart illustrating an example process 800 for displayinghome screens based on display devices in accordance with one or moreembodiments. Process 800 is carried out by an automatic home screendetermination system, such as the automatic home screen determinationsystem 110 of FIGS. 1 and 2, and can be implemented in software,firmware, hardware, or combinations thereof. Process 800 is shown as aset of acts and is not limited to the order shown for performing theoperations of the various acts. Process 800 is an example process fordisplaying home screens based on display devices; additional discussionsof displaying home screens based on display devices are included hereinwith reference to different figures.

In process 800, an identifier of a display device to which a computingdevice is coupled is determined (act 802). The identifier can bedetermined in different manners as discussed above, such as beingreceived from the display device, being based on a context of thedisplay device, being received as user input, and so forth. Theidentifier can be an identifier of a type of display device and/or aspecific display device.

A home screen state corresponding to the identified display device isobtained (act 804). Different home screen states are maintained in ahome screen state data store as associated with or corresponding todifferent display device identifiers as discussed above.

A home screen having the obtained home screen state is displayed on thedisplay device (act 806). The home screen state corresponds to aparticular display device identifier, so different home screens can bedisplayed for different display device identifiers.

A user input changing the home screen state is received (act 808). Thischange can take various forms, such as moving a representation offunctionality, adding a representation of functionality, deleting arepresentation of functionality, and so forth. The change can be anychange to the user experience displayed or otherwise presented by thehome screen as discussed above.

The changed home screen state is saved (act 810). The changed homescreen state is saved in the home screen state data store as associatedwith or corresponding to the display device identifier. The changed homescreen state overwrites or replaces the previous home screen state forthe identified display device. A copy of the previous home screen statecan optionally be saved, allowing the user to quickly undo the change ifdesired.

In response to the computing device subsequently being coupled to thedisplay device, the changed home screen state is displayed (act 812).The display device can be uncoupled from the computing device and anyamount of time can elapse before the display device is again coupled tothe computing device. However, at such time as the display device isagain coupled to the computing device, the changed home screen state isdisplayed in act 812. Different home screen states can also bemaintained by the automatic home screen determination system, and theuser can select which of those home screen states is displayed asdiscussed above.

FIG. 9 is a flowchart illustrating an example process 900 for displayinghome screens on multiple display devices concurrently in accordance withone or more embodiments. Process 900 is carried out by an automatic homescreen determination system, such as the automatic home screendetermination system 110 of FIGS. 1 and 2, and can be implemented insoftware, firmware, hardware, or combinations thereof. Process 900 isshown as a set of acts and is not limited to the order shown forperforming the operations of the various acts. Process 900 is an exampleprocess for displaying home screens on multiple display devicesconcurrently; additional discussions of displaying home screens onmultiple display devices concurrently are included herein with referenceto different figures.

In process 900, a first home screen is displayed on a first displaydevice (act 902). The first home screen has a home screen state that isbased on an identifier of the first display device. The identifier ofthe first display device can be determined in different manners asdiscussed above, such as being received from the display device, beingbased on a context of the display device, being received as user input,and so forth. The identifier of the first display device can be anidentifier of a type of the first display device and/or a specificdisplay device that is the first display device.

Concurrent with the display of the first home screen on the firstdisplay device, a second home screen is displayed on a second displaydevice (act 904). The second home screen has a home screen state that isbased on an identifier of the second display device. The identifier ofthe second display device can be determined in different manners asdiscussed above, such as being received from the display device, beingbased on a context of the display device, being received as user input,and so forth. The identifier of the second display device can be anidentifier of a type of the second display device and/or a specificdisplay device that is the second display device. The identifier of thesecond display device can be determined in the same or a differentmanner as the identifier of the first display device is determined.

The first home screen and the second home screen are controlledindependently of one another (act 906). Different programs can be runfrom the different home screens, and interaction with or changes to oneof the home screens does not affect the other of the home screens.

The techniques discussed herein support various usage scenarios. Thecomputing device controls multiple different display devicesconcurrently, providing home screens on the different display devicesthat are independent of one another. This improves the usability of thecomputing device by providing the user with the look and feel of havingtwo different computing devices, although a single computing device isused. This alleviates the need for additional computing device hardware(processors, memory, storage devices, etc.)—the user need only acquire anew display device yet feels as if he or she has an entirely newcomputer.

Multiple different display devices are controlled by the same computingdevice, optionally concurrently. Despite being controlled by the samecomputing device, the home screens displayed on the different displaydevices can be different and can be personalized by the user, improvingthe usability of the computing device by providing the user with thelook and feel of having multiple different computing devices although asingle computing device is used. By controlling multiple differentdisplay devices with the same computing device, various differentadditional effects are realized. Data network bandwidth usage is reduceddue to data not needing to be synchronized between multiple differentcomputing devices. For example, where a user may have previouslysynchronized data between his or her workplace computer, laptopcomputer, and smartphone, using the techniques discussed herein all thedata is stored on a single computing device and data transfers to enablesuch synchronizing need not occur. Data security is also increased dueto data not needing to be transferred between different computingdevices. For example, where a user may have previously transferred databetween his or her laptop computer and smartphone, using the techniquesdiscussed herein all the data is stored on a single computing device,alleviating the need for keeping the data secure at multiple computingdevices as well as during the transfer between the computing devices.

Although particular functionality is discussed herein with reference toparticular modules, it should be noted that the functionality ofindividual modules discussed herein can be separated into multiplemodules, and/or at least some functionality of multiple modules can becombined into a single module. Additionally, a particular modulediscussed herein as performing an action includes that particular moduleitself performing the action, or alternatively that particular moduleinvoking or otherwise accessing another component or module thatperforms the action (or performs the action in conjunction with thatparticular module). Thus, a particular module performing an actionincludes that particular module itself performing the action and/oranother module invoked or otherwise accessed by that particular moduleperforming the action.

FIG. 10 illustrates an example system generally at 1000 that includes anexample computing device 1002 that is representative of one or moresystems and/or devices that may implement the various techniquesdescribed herein. The computing device 1002 may be, for example, aserver of a service provider, a device associated with a client (e.g., aclient device), an on-chip system, and/or any other suitable computingdevice or computing system.

The example computing device 1002 as illustrated includes a processingsystem 1004, one or more computer-readable media 1006, and one or moreI/O Interfaces 1008 that are communicatively coupled, one to another.Although not shown, the computing device 1002 may further include asystem bus or other data and command transfer system that couples thevarious components, one to another. A system bus can include any one orcombination of different bus structures, such as a memory bus or memorycontroller, a peripheral bus, a universal serial bus, and/or a processoror local bus that utilizes any of a variety of bus architectures. Avariety of other examples are also contemplated, such as control anddata lines.

The processing system 1004 is representative of functionality to performone or more operations using hardware. Accordingly, the processingsystem 1004 is illustrated as including hardware elements 1010 that maybe configured as processors, functional blocks, and so forth. This mayinclude implementation in hardware as an application specific integratedcircuit or other logic device formed using one or more semiconductors.The hardware elements 1010 are not limited by the materials from whichthey are formed or the processing mechanisms employed therein. Forexample, processors may be comprised of semiconductor(s) and/ortransistors (e.g., electronic integrated circuits (ICs)). In such acontext, processor-executable instructions may beelectronically-executable instructions.

The computer-readable media 1006 is illustrated as includingmemory/storage 1012. The memory/storage 1012 represents memory/storagecapacity associated with one or more computer-readable media. Thememory/storage 1012 may include volatile media (such as random accessmemory (RAM)) and/or nonvolatile media (such as read only memory (ROM),Flash memory, optical disks, magnetic disks, and so forth). Thememory/storage 1012 may include fixed media (e.g., RAM, ROM, a fixedhard drive, and so on) as well as removable media (e.g., Flash memory, aremovable hard drive, an optical disc, and so forth). Thecomputer-readable media 1006 may be configured in a variety of otherways as further described below.

The one or more input/output interface(s) 1008 are representative offunctionality to allow a user to enter commands and information tocomputing device 1002, and also allow information to be presented to theuser and/or other components or devices using various input/outputdevices. Examples of input devices include a keyboard, a cursor controldevice (e.g., a mouse), a microphone (e.g., for voice inputs), ascanner, touch functionality (e.g., capacitive or other sensors that areconfigured to detect physical touch), a camera (e.g., which may employvisible or non-visible wavelengths such as infrared frequencies todetect movement that does not involve touch as gestures), and so forth.Examples of output devices include a display device (e.g., a monitor orprojector), speakers, a printer, a network card, tactile-responsedevice, and so forth. Thus, the computing device 1002 may be configuredin a variety of ways as further described below to support userinteraction.

The computing device 1002 also includes an automatic home screendetermination system 1014. The automatic home screen determinationsystem 1014 provides various functionality supporting different homescreens based on different display devices as discussed above. Theautomatic home screen determination system 1014 can implement, forexample, the automatic home screen determination system 110 of FIG. 1 orFIG. 2.

Various techniques may be described herein in the general context ofsoftware, hardware elements, or program modules. Generally, such modulesinclude routines, programs, objects, elements, components, datastructures, and so forth that perform particular tasks or implementparticular abstract data types. The terms “module,” “functionality,” and“component” as used herein generally represent software, firmware,hardware, or a combination thereof. The features of the techniquesdescribed herein are platform-independent, meaning that the techniquesmay be implemented on a variety of computing platforms having a varietyof processors.

An implementation of the described modules and techniques may be storedon or transmitted across some form of computer-readable media. Thecomputer-readable media may include a variety of media that may beaccessed by the computing device 1002. By way of example, and notlimitation, computer-readable media may include “computer-readablestorage media” and “computer-readable signal media.”

“Computer-readable storage media” refers to media and/or devices thatenable persistent storage of information and/or storage that istangible, in contrast to mere signal transmission, carrier waves, orsignals per se. Thus, computer-readable storage media refers tonon-signal bearing media. The computer-readable storage media includeshardware such as volatile and non-volatile, removable and non-removablemedia and/or storage devices implemented in a method or technologysuitable for storage of information such as computer readableinstructions, data structures, program modules, logic elements/circuits,or other data. Examples of computer-readable storage media may include,but are not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, hard disks, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or other storage device,tangible media, or article of manufacture suitable to store the desiredinformation and which may be accessed by a computer.

“Computer-readable signal media” refers to a signal-bearing medium thatis configured to transmit instructions to the hardware of the computingdevice 1002, such as via a network. Signal media typically may embodycomputer readable instructions, data structures, program modules, orother data in a modulated data signal, such as carrier waves, datasignals, or other transport mechanism. Signal media also include anyinformation delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media include wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media.

As previously described, the hardware elements 1010 andcomputer-readable media 1006 are representative of instructions,modules, programmable device logic and/or fixed device logic implementedin a hardware form that may be employed in some embodiments to implementat least some aspects of the techniques described herein. Hardwareelements may include components of an integrated circuit or on-chipsystem, an application-specific integrated circuit (ASIC), afield-programmable gate array (FPGA), a complex programmable logicdevice (CPLD), and other implementations in silicon or other hardwaredevices. In this context, a hardware element may operate as a processingdevice that performs program tasks defined by instructions, modules,and/or logic embodied by the hardware element as well as a hardwaredevice utilized to store instructions for execution, e.g., thecomputer-readable storage media described previously.

Combinations of the foregoing may also be employed to implement varioustechniques and modules described herein. Accordingly, software,hardware, or program modules and other program modules may beimplemented as one or more instructions and/or logic embodied on someform of computer-readable storage media and/or by one or more hardwareelements 1010. The computing device 1002 may be configured to implementparticular instructions and/or functions corresponding to the softwareand/or hardware modules. Accordingly, implementation of modules as amodule that is executable by the computing device 1002 as software maybe achieved at least partially in hardware, e.g., through use ofcomputer-readable storage media and/or hardware elements 1010 of theprocessing system. The instructions and/or functions may beexecutable/operable by one or more articles of manufacture (for example,one or more computing devices 1002 and/or processing systems 1004) toimplement techniques, modules, and examples described herein.

As further illustrated in FIG. 10, the example system 1000 enablesubiquitous environments for a seamless user experience when runningapplications on a personal computer (PC), a television device, and/or amobile device. Services and applications run substantially similar inall three environments for a common user experience when transitioningfrom one device to the next while utilizing an application, playing avideo game, watching a video, and so on.

In the example system 1000, multiple devices are interconnected througha central computing device. The central computing device may be local tothe multiple devices or may be located remotely from the multipledevices. In one or more embodiments, the central computing device may bea cloud of one or more server computers that are connected to themultiple devices through a network, the Internet, or other datacommunication link.

In one or more embodiments, this interconnection architecture enablesfunctionality to be delivered across multiple devices to provide acommon and seamless experience to a user of the multiple devices. Eachof the multiple devices may have different physical requirements andcapabilities, and the central computing device uses a platform to enablethe delivery of an experience to the device that is both tailored to thedevice and yet common to all devices. In one or more embodiments, aclass of target devices is created and experiences are tailored to thegeneric class of devices. A class of devices may be defined by physicalfeatures, types of usage, or other common characteristics of thedevices.

In various implementations, the computing device 1002 may assume avariety of different configurations, such as for computer 1016, mobile1018, and television 1020 uses. Each of these configurations includesdevices that may have generally different constructs and capabilities,and thus the computing device 1002 may be configured according to one ormore of the different device classes. For instance, the computing device1002 may be implemented as the computer 1016 class of a device thatincludes a personal computer, desktop computer, a multi-screen computer,laptop computer, netbook, and so on.

The computing device 1002 may also be implemented as the mobile 1018class of device that includes mobile devices, such as a mobile phone,portable music player, portable gaming device, a tablet computer, amulti-screen computer, and so on. The computing device 1002 may also beimplemented as the television 1020 class of device that includes deviceshaving or connected to generally larger screens in casual viewingenvironments. These devices include televisions, set-top boxes, gamingconsoles, and so on.

The techniques described herein may be supported by these variousconfigurations of the computing device 1002 and are not limited to thespecific examples of the techniques described herein. This functionalitymay also be implemented all or in part through use of a distributedsystem, such as over a “cloud” 1022 via a platform 1024 as describedbelow.

The cloud 1022 includes and/or is representative of a platform 1024 forresources 1026. The platform 1024 abstracts underlying functionality ofhardware (e.g., servers) and software resources of the cloud 1022. Theresources 1026 may include applications and/or data that can be utilizedwhile computer processing is executed on servers that are remote fromthe computing device 1002. Resources 1026 can also include servicesprovided over the Internet and/or through a subscriber network, such asa cellular or Wi-Fi network.

The platform 1024 may abstract resources and functions to connect thecomputing device 1002 with other computing devices. The platform 1024may also serve to abstract scaling of resources to provide acorresponding level of scale to encountered demand for the resources1026 that are implemented via the platform 1024. Accordingly, in aninterconnected device embodiment, implementation of functionalitydescribed herein may be distributed throughout the system 1000. Forexample, the functionality may be implemented in part on the computingdevice 1002 as well as via the platform 1024 that abstracts thefunctionality of the cloud 1022.

In the discussions herein, various different embodiments are described.It is to be appreciated and understood that each embodiment describedherein can be used on its own or in connection with one or more otherembodiments described herein. Further aspects of the techniquesdiscussed herein relate to one or more of the following embodiments.

A method, implemented in a mobile computing device, to improve usabilityof the mobile computing device by providing a user with a look and feelof having multiple computing devices from the mobile computing device,the method comprising: determining an identifier of a display device towhich the mobile computing device is coupled; accessing a storage deviceto obtain a home screen for the display device; controlling the displaydevice to display the home screen on the display device, the home screenhaving a state based on the identified display device; receiving userinput changing the state of the home screen, the changing includingchanging the user experience presented by the home screen; saving, bythe mobile computing device, the changed state of the home screen; anddisplaying, in response to the mobile computing device beingsubsequently coupled to the display device, the home screen having thechanged state.

Alternatively or in addition to any of the above described methods, anyone or combination of: the determining the identifier of the displaydevice comprising determining the identifier of the display device basedon a configuration value provided by the display device, theconfiguration value identifying a type of the display device or aspecific display device; the determining the identifier of the displaydevice comprising determining the identifier of the display device basedon a context or characteristics of the display device; the determiningthe identifier of the display device comprising determining theidentifier of the display device based on a user input specifying a typeof the display device or a specific display device; the changing theuser experience presented by the home screen including rearrangingrepresentations of functionality on the home screen, the representationsof functionality comprising one or more representations selected fromthe group including tiles, icons, and menu items; the identifier of thedisplay device comprising an identifier of a type of the display device;the identifier of the display device comprising an identifier of aspecific display device; the method further comprising determining anidentifier of an additional display device to which the mobile computingdevice is coupled, displaying, concurrently with displaying the homescreen on the display device, an additional home screen on theadditional display device, the additional home screen having a statebased on the identified additional display device, and controlling bythe mobile computing device the home screen and the additional homescreen independently of one another.

A method, implemented in a mobile computing device, to improve usabilityof the mobile computing device by providing a user with a look and feelof having multiple computing devices from the mobile computing device,the method comprising: accessing a storage device to obtain a first homescreen for a first display device; displaying the first home screen on afirst display device of multiple display devices, the first home screenhaving a state based on an identifier of the first display device;accessing the storage device to obtain a second home screen for a seconddisplay device; displaying, concurrently with displaying the first homescreen on the first display device, the second home screen on a seconddisplay device of the multiple display devices, the second home screenhaving a state based on an identifier of the second display device; andcontrolling by the mobile computing device the first home screen and thesecond home screen independently of one another.

Alternatively or in addition to any of the above described methods, anyone or combination of: the identifier of the first display devicecomprising an identifier of a type of the first display device, and theidentifier of the second display device comprising an identifier of atype of the second display device; the identifier of the first displaydevice comprising an identifier of a specific display device that is thefirst display device, and the identifier of the second display devicecomprising an identifier of a specific display device that is the seconddisplay device; the first display device comprising a desktop monitorand the second display device comprising a display device included inthe mobile computing device; the first display device comprising adisplay device included in the mobile computing device and the seconddisplay device comprising an automobile display device; the controllingincluding controlling how notifications are displayed on the firstdisplay device and the second display device, notifications beingdisplayed differently on the first display device than on the seconddisplay device; the controlling including controlling how additionalcontent is displayed on the first display device and the second displaydevice, the additional content being displayed differently on the firstdisplay device than on the second display device.

A mobile computing device configured to improve usability of the mobilecomputing device by providing a user with a look and feel of havingmultiple computing devices from the mobile computing device, the mobilecomputing device comprising: an automatic home screen determinationsystem configured to determine a first home screen for display on afirst display device of multiple display devices, the first home screenhaving a state based on an identifier of the first display device andobtained from a storage device based on the identifier of the firstdisplay device, and determine a second home screen for display on asecond display device of the multiple display devices, the second homescreen having a state based on an identifier of the second displaydevice and obtained from the storage device based on the identifier ofthe second display device; and an output module configured toconcurrently control the first display device and the second displaydevice by displaying the first home screen on the first display deviceand the second home screen on the second display device, and control thefirst home screen and the second home screen independently of oneanother.

Alternatively or in addition to any of the above described mobilecomputing devices, any one or combination of: the identifier of thefirst display device comprising an identifier of a type of the firstdisplay device, and the identifier of the second display devicecomprising an identifier of a type of the second display device; theidentifier of the first display device comprising an identifier of aspecific display device that is the first display device, and theidentifier of the second display device comprising an identifier of aspecific display device that is the second display device; the automatichome screen determination system being further configured to controlwhether notifications are displayed on the first display device and thesecond display device as well as how notifications are displayed on thefirst display device and the second display device, notifications beingdisplayed differently on the first display device than on the seconddisplay device; the automatic home screen determination system beingfurther configured to control how additional content is displayed on thefirst display device and the second display device, the additionalcontent being displayed differently on the first display device than onthe second display device; the automatic home screen determinationsystem being further configured to: receive a first user input changingthe state of the first home screen; save the changed state of the firsthome screen; determine, as the first home screen for display on thefirst display device in response to the mobile computing device beingsubsequently coupled to the first display device, the first home screenwith the changed state; receive a second user input changing the stateof the second home screen; save the changed state of the second homescreen; and determine, as the second home screen for display on thesecond display device in response to the mobile computing device beingsubsequently coupled to the second display device, the second homescreen with the changed state.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. A method implemented in a mobile computingdevice, the method comprising: determining an identifier of a displaydevice to which the mobile computing device is coupled; determining,based on the identifier, a state of a home screen of the display device;causing, by the mobile computing device, display of the home screen onthe display device; receiving user input changing the state of the homescreen, the changing including changing the user experience presented bythe home screen; saving, by the mobile computing device, the changedstate of the home screen and associating the changed state of the homescreen with the identifier of the display device; and in response to themobile computing device being subsequently coupled to the displaydevice, causing, by the mobile computing device, display of the homescreen having the changed state based on the association of the changedstate of the home screen with the identifier of the display device. 2.The method of claim 1, the determining the identifier of the displaydevice comprising determining the identifier of the display device basedon a configuration value provided by the display device, theconfiguration value identifying a type of the display device or aspecific display device.
 3. The method of claim 1, the determining theidentifier of the display device comprising determining the identifierof the display device based on a context or characteristics of thedisplay device.
 4. The method of claim 1, the determining the identifierof the display device comprising determining the identifier of thedisplay device based on a user input specifying a type of the displaydevice or a specific display device.
 5. The method of claim 1, thechanging the user experience presented by the home screen includingrearranging representations of functionality on the home screen, therepresentations of functionality comprising one or more representationsselected from the group including: tiles, icons, and menu items.
 6. Themethod of claim 1, the identifier of the display device comprising anidentifier of a type of the display device.
 7. The method of claim 1,the identifier of the display device comprising an identifier of aspecific display device.
 8. The method of claim 1, further comprising:determining an identifier of an additional display device to which themobile computing device is coupled; displaying, concurrently withdisplaying the home screen on the display device, an additional homescreen on the additional display device, the additional home screenhaving a state based on the identified additional display device; andcontrolling by the mobile computing device the home screen and theadditional home screen independently of one another.
 9. A methodimplemented in a mobile computing device, the method comprising:determining a first identifier of a first display device and a secondidentifier of a second display device; obtaining, from a home screenstate data store, a first home screen state corresponding to the firstidentifier of the first display device and a second home screen statecorresponding to the second identifier of the second display device, thefirst home screen state comprising a first configuration ofrepresentations of functionality including which representations offunctionality are displayed and where the representations offunctionality are displayed on a first home screen, and the second homescreen state comprising a second configuration of representations offunctionality including which representations of functionality aredisplayed and where the representations of functionality are displayedon a second home screen; controlling, by the mobile device, display ofthe first home screen having the first home screen state on the firstdisplay device and display of the second home screen having the secondhome screen state on the second display device, the controlling causingdisplay of the first home screen and the second home screen concurrentlyand independently of one another.
 10. The method of claim 9, the firstidentifier of the first display device comprising an identifier of atype of the first display device, and the second identifier of thesecond display device comprising an identifier of a type of the seconddisplay device.
 11. The method of claim 9, the first identifier of thefirst display device comprising an identifier of a specific displaydevice that is the first display device, and the second identifier ofthe second display device comprising an identifier of a specific displaydevice that is the second display device.
 12. The method of claim 9, thefirst display device comprising a desktop monitor and the second displaydevice comprising a display device included in the mobile computingdevice.
 13. The method of claim 9, the first display device comprising adisplay device included in the mobile computing device and the seconddisplay device comprising an automobile display device.
 14. The methodof claim 9, the controlling including controlling how notifications aredisplayed on the first display device and the second display device,notifications being displayed differently on the first display devicethan on the second display device.
 15. The method of claim 9, thecontrolling including controlling how additional content is displayed onthe first display device and the second display device, the additionalcontent being displayed differently on the first display device than onthe second display device.
 16. A mobile computing device comprising: anautomatic home screen determination system configured to: determine afirst identifier of a first display device and a second identifier of asecond display device; obtain a first home screen state corresponding tothe first identifier of the first display device and a second homescreen state corresponding to the second identifier of the seconddisplay device, the first home screen state comprising a firstconfiguration of representations of functionality including whichrepresentations of functionality are displayed and where therepresentations of functionality are displayed on a first home screen,and the second home screen state comprising a second configuration ofrepresentations of functionality including which representations offunctionality are displayed and where the representations offunctionality are displayed on a second home screen; control display ofthe first home screen having the first home screen state on the firstdisplay device and display of the second home screen having the secondhome screen state on the second display device, the controlling causingdisplay of the first home screen and the second home screen concurrentlyand independently of one another.
 17. The mobile computing device ofclaim 16, the automatic home screen determination system being furtherconfigured to: receive a first user input changing the state of thefirst home screen; save the changed state of the first home screen;determine, as the first home screen for display on the first displaydevice in response to the mobile computing device being subsequentlycoupled to the first display device, the first home screen with thechanged state; receive a second user input changing the state of thesecond home screen; save the changed state of the second home screen;and determine, as the second home screen for display on the seconddisplay device in response to the mobile computing device beingsubsequently coupled to the second display device, the second homescreen with the changed state.
 18. The mobile computing device of claim16, the first identifier of the first display device comprising anidentifier of a type of the first display device, and the secondidentifier of the second display device comprising an identifier of atype of the second display device.
 19. The mobile computing device ofclaim 16, the first identifier of the first display device comprising anidentifier of a specific display device that is the first displaydevice, and the second identifier of the second display devicecomprising an identifier of a specific display device that is the seconddisplay device.
 20. The mobile computing device of claim 16, theautomatic home screen determination system being further configured tocontrol whether notifications are displayed on the first display deviceand the second display device as well as how notifications are displayedon the first display device and the second display device, notificationsbeing displayed differently on the first display device than on thesecond display device.